Шаг 2 - Добавление элемента.

Чтобы добавить объект к проекту ATL, Вы используете ATL Object Wizard. Нажмите New ATL Object из меню Insert.

3_1.gif (2813 b)

Появиться ATL Object Wizard.

3_2.gif (6202 b)

В окне ATL Object Wizard выбирают класс объекта который Вы хотите добавить к вашему текущему проекту. Здесь много вариантов выбора от базового COM объекта до объекта оптимизированного для работы в Internet Exploler. В этом учебнике Вы создадите стандартный элемент управления, так что устанавливаем слева категорию Controls, затем справа выбираем полный элемент управления. Далее нажимаем Next.

Отобразиться страница набора свойств которая позволяет вам конфигурировать элемент управления. Напечатайте "PolyCtl" как короткое имя. Другие поля будут автоматически заполнены.

3_3.gif (6066 b)

Поле Class показывает имя C++ класса созданного чтобы реализовать элемент управления. .H File и .CPP File поля показывают созданные файлы которые содержат определение класса C++. CoClass - имя класса компонента для этого элемента управления. Interface - имя интерфейса используя который Ваш элемент управления выполнит заказные методы и реквизиты. Type - описание для элемента управления. ProgID - имя которое может использоваться чтобы искать CLSID элемента управления.

Теперь нужно дать возможность поддержки расширенных данных об ошибках и точек соединения для Вашего элемента управления:
1.Перейдите на вкладку Attributes.
2.Установите флажок Support ISupportErrorInfo.
3.Установите флажок Support Connection Point. Это создаст поддержку для интерфейса событий в IDL файле.

3_4.gif (6791 b)

Вы будете использовать цвет в многоугольнике для того что бы его нарисовать, для этого нужно добавить Fill Color свойство:
1. Выберите вкладку Stock Properties.
2. Листайте список пока не найдете Fill Color, потом дважды щелкните на нем чтобы переместить свойство в список Supported.

3_5.gif (5268 b)

Для того, что бы закончить выбирать опции для вашего элемента управления нажмите OK. Когда Вы создали ваш элемент управления, были произведены изменения в коде и добавлены файлы. Следующие файлы были созданы:

PolyCtl.h			Содержит большинство реализации C++ класса CPolyCtl.
PolyCtl.cpp		Содержит остающиеся части CPolyCtl.
PolyCtl.rgs		Текстовый файл который содержит сценарий регистрации  используемые  
			для регистрации элемента управления в реестре.
PolyCtl.htm		HTML файл который содержит код Web страницы  которая содержит ссылку 
			на недавно созданный элемент управления. Вы можете ее посмотреть 
			используя Internet Explorer.

Мастер также выполнил следующие изменения кода:
#include был добавлен в файлы StdAfx.h и StdAfx.cpp чтобы включить файлы ATL необходимые для элементов управления.
Сценарий регистрации в реестер PolyCtl.rgs был добавлен в ресурсы проекта.
Polygon.idl был изменен чтобы включить подробности нового элемента управления.
Новый элемент управления был добавлен в объектную карту в Polygon.cpp
Файл PolyCtl.h наиболее интересен потому что это содержит основной код, который осуществляет ваш элемент управления.

Вы теперь готовы создать ваш элемент управления:
1.В меню Build выберите Build Polygon.dll
2.Как только ваш элемент управления будет сформирован, выберите ActiveX Control Test Container в меню Tools. Test Container запущен.
3.В Test Container выберите Insert New Control из меню Edit. Диалоговое окно Insert Control появится.
4.Из списка доступных элементов управления в диалоговом окне Insert Control, выберите класс PolyCtl.

Вы должны видеть прямоугольник с текстом "ATL 3.0: PolyCtl" в середине. Закройте Test Container.

Hosted by uCoz